/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tk.eigh.ksvg.component.gradients;

import ksvg.core.SVGComponentBase;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
import tk.eigh.ksvg.types.SVGLength;

/**
 *
 * @author nt
 */
@JSFComponent(name = "svg:Stop",
type = "tk.eigh.svg.Stop",
family = "gradients.Stop",
clazz = "ksvg.gradients.Stop",
tagClass = "ksvg.tags.gradients.StopTag",
defaultRendererType = "gradients.SVGStopRenderer",
desc = "The ramp of colors to use on a gradient is defined by the ‘stop’ elements that are child elements to either the ‘linearGradient’ element or the ‘radialGradient’ element.")
public abstract class AbstractStop extends SVGComponentBase {

    /**
     * offset = "&lt;number&gt; | &lt;percentage&gt;" <br/> The ‘offset’ attribute is either
     * a &lt;number&gt; (usually ranging from 0 to 1) or a &lt;percentage&gt; (usually
     * ranging from 0% to 100%) which indicates where the gradient stop is
     * placed. For linear gradients, the ‘offset’ attribute represents a
     * location along the gradient vector. For radial gradients, it represents a
     * percentage distance from (fx,fy) to the edge of the outermost/largest
     * circle. <br/> Animatable: yes.
     */
    @JSFProperty
    public abstract SVGLength getOffset();

    /**
     * Value: currentColor | &lt;color&gt; &lt;icccolor&gt; | <br/> The ‘stop-color’
     * property indicates what color to use at that gradient stop. The keyword
     * currentColor and ICC colors can be specified in the same manner as within
     * a &lt;paint&gt; specification for the ‘fill’ and ‘stroke’ properties. <br/>
     *
     * Animatable: yes
     */
    //TODO SVGColor type
    @JSFProperty
    public abstract String getStopColor();

    /**
     * Value: &lt;opacity-value&gt; | inherit <br/> The ‘stop-opacity’ property
     * defines the opacity of a given gradient stop. <br/> Animatable: yes
     */
    @JSFProperty
    public abstract SVGLength getStopOpacity();
}